If you are already using web3.js or ethers.js, and do not require functionality such as creating subdomains, transferring ownership, or updating resolvers, use built in LNS features of these libraries.
If you are using React and only need to do forward and reverse resolution of LNS names with built in UI, use react-ens-address.
If you want to have LNS instance deployed into your dev environment, you may want to use embark.io or waffle.io which allows you to configure/deploy LNS registry in your smartBCH test instance.
Otherwise, use ensjs.
Accessing smart contracts directly
All the LNS smart contracts are published as @bchdomains/lns-contractsnpm module.
This is how you include abi into your frontend code.
} from '@bchdomains/lns-contracts'`
This is how you import our smartcontract within Solidity.