gpt4 book ai didi

node.js - 在 r.js 构建文件中加载 ngmin 失败

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:36 25 4
gpt4 key购买 nike

我正在尝试在 this 之后的 requirejsr.js 中使用 ngmin ,但由于某种原因我无法让它工作。我已经通过 npm 在全局和本地安装了 ngminrequirejs,但这些选项都无法正确加载 ngmin onBuildRead()。我还导出了 NODE_PATH,但这也没有帮助。

构建文件可以在不提供隔离问题的钩子(Hook)函数的情况下工作,但我不是nodejs专家,所以我不知道如何进一步解决这个问题。如有任何帮助,我们将不胜感激。

({
mainConfigFile: './static/js/boot.js',
baseUrl: './static/js',
name: 'boot',
include: 'require.js',
out: './static/js/main-built.js',
normalizeDirDefines: 'all',
onBuildRead: function (moduleName, path, contents) {
var ngmin = require('ngmin');
console.log(ngmin); // ngmin is undefined
return ngmin.annotate(contents); // no method annotate of undefined
}
})

最佳答案

看来,您正在尝试在 r.js 的构建配置文件中调用 nodejs 的 require 。但这个文件只是一个配置 - 它不是由 Node 执行 - 它只能由 r.js 优化器读取。您可以通过以下方式将构建配置包装到 Grunt 任务中:

  1. 将此文件放入项目的根目录

    Gruntfile.js

    module.exports = function(grunt) {
    'use strict';
    // Project configuration.
    var config = {

    requirejs : {
    compile : {
    options : {
    mainConfigFile: './static/js/boot.js',
    baseUrl: './static/js',
    name: 'boot',
    include: 'require.js',
    out: './static/js/main-built.js',
    normalizeDirDefines: 'all',
    onBuildRead: function (moduleName, path, contents) {
    var ngmin = require('ngmin');
    console.log(ngmin);
    return ngmin.annotate(contents);
    }
    }
    }
    }
    };

    grunt.initConfig(config);

    // These plugins provide necessary tasks.
    grunt.loadNpmTasks('grunt-contrib-requirejs');

    grunt.registerTask('build', ['requirejs:compile']);

    // Default task.
    grunt.registerTask('default', ['watch']);

    };
  2. 通过 npm 全局安装 grunt-cli

    npm install -g grunt-cli

  3. 将所需的模块安装到您的项目中

    npm install grunt grunt-contrib-requirejs

  4. 运行默认的 grunt 任务:

    咕噜声

这将需要 js 任务。由于 Grungfile.js 是普通的 CommonJs 模块,因此您可以轻松使用其中的任何 npm 模块。更多关于 Grunt here .

了解更多有关 grunt 的信息后,请参阅 this plugin - 我认为如果您决定使用 grunt,它在当前上下文中可能很有用。

关于node.js - 在 r.js 构建文件中加载 ngmin 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21548006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com