Goal️目标
👾问题
最初,fs
尽管已安装,仍无法找到。
This dependency was not found: fs in ./node_modules/emailjs/smtp/message.js
根据这个类似的问题,应该通过增加target: 'node'
来解决这个问题webpack.config.js
。我已经nuxt.config.js
按照上述Nuxt.js
方式 将上述配置注入了(但我认为),但这会产生以下错误:
WebpackOptionsValidationError: Invalid configuration object.
Webpack has been initialised using a configuration object that
does not match the API schema.
- configuration.module.rules[10] has an unknown property 'target'.
These properties are valid: object { enforce?, exclude?, include?,
issuer?, loader?, loaders?, oneOf?, options?, parser?, query?,
resource?, resourceQuery?, compiler?, rules?, test?, use? }
这是否意味着当前不可能?😱
⌨️代码
nuxt.config.js
build: {
/*
** Run ESLint on save
*/
extend (config, { isDev, isClient }) {
config.module.rules.push({target: 'node'}) // <-- Added this
if (isDev && isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
}
}
投资价值
export default {
asyncData ( context ) {
let email = require('../node_modules/emailjs/email');
console.log('process.server', process.server); // Evalutes to true
}
};
package.json
"dependencies": {
"emailjs": "^2.2.0",
"fs": "^0.0.1-security",
"net": "^1.0.2",
"nuxt": "^1.0.0",
"tls": "^0.0.1"
},
Nuxt代码分为客户端部分和服务器部分。您尝试
emailjs
在组件中使用该库,这是客户端部分。它无法访问fs
库(在Web中)。您需要在服务器部分(例如在express
为您的页面提供服务的服务器中)上编写它。